package com.yanqu.road.entity.wingroom.config;

import java.util.ArrayList;
import java.util.List;

/**
 * @author ：zfr
 * @date ：2022/2/12 14:34
 */
public class WingRoomLvConfig {
    private int id;
    private int lv;
    private long needComfort;
    private List<Integer> skillList = new ArrayList<>();
    private List<Integer> unlockRegion; //特殊效果 ：解锁房间

    public int getId() {
        return id;
    }

    public int getLv() {
        return lv;
    }

    public long getNeedComfort() {
        return needComfort;
    }

    public List<Integer> getSkillList() {
        return skillList;
    }

    public List<Integer> getUnlockRegion() {
        return unlockRegion;
    }

    public static final class WingRoomLvConfigBuilder {
        private int id;
        private int lv;
        private long needComfort;
        private List<Integer> skillList = new ArrayList<>();
        private List<Integer> unlockRegion; //特殊效果 ：解锁房间

        private WingRoomLvConfigBuilder() {
        }

        public static WingRoomLvConfigBuilder aWingRoomLvConfig() {
            return new WingRoomLvConfigBuilder();
        }

        public WingRoomLvConfigBuilder withId(int id) {
            this.id = id;
            return this;
        }

        public WingRoomLvConfigBuilder withLv(int lv) {
            this.lv = lv;
            return this;
        }

        public WingRoomLvConfigBuilder withNeedComfort(long needComfort) {
            this.needComfort = needComfort;
            return this;
        }

        public WingRoomLvConfigBuilder withSkillList(List<Integer> skillList) {
            this.skillList = skillList;
            return this;
        }

        public WingRoomLvConfigBuilder withUnlockRegion(List<Integer> unlockRegion) {
            this.unlockRegion = unlockRegion;
            return this;
        }

        public WingRoomLvConfig build() {
            WingRoomLvConfig wingRoomLvConfig = new WingRoomLvConfig();
            wingRoomLvConfig.skillList = this.skillList;
            wingRoomLvConfig.unlockRegion = this.unlockRegion;
            wingRoomLvConfig.needComfort = this.needComfort;
            wingRoomLvConfig.lv = this.lv;
            wingRoomLvConfig.id = this.id;
            return wingRoomLvConfig;
        }
    }
}
